<?php 
	include "header.html";
	include "mensaje.php";
?>

<script type="text/javascript" src="framework/js/util.js"></script>
<script type="text/javascript" src="framework/js/DB.js"></script>
<script type="text/javascript" src="framework/js/selectboxes.js"></script>
<script src="js/table/jquery.dataTables.min.js"></script>
<script src="js/jquery-ui/jquery.ui.datepicker.min.js"></script>
<script type="text/javascript" src="js/jquery-ui/jquery.ui.dialog.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="js/libs/timezone.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery-ui-timepicker-addon.css" media="screen" />
<link rel="stylesheet" media="all" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />

<script>
var procesos=DBHloadMap("proceso",{},"descripcion");
var estadoProceso=DBHloadMap("estado_produccion",{},"descripcion");
var tipoRegistro=DBHloadMap("tipo_registro_fabricacion",{},"descripcion");
var ordenActual;
var procesoActual;
var procesoEditando;
var produccionActual;
var maquinas;
bloqueaLetras("nroOrden");
$(document).ready(function(){
	maquinas=makeCombo("comboMaquinasDiv","maquina","maquina","descripcion","");
	$('#inicioEventoFecha').datetimepicker({
		timeText: '-',
		hourText: 'Hora',
		minuteText: 'Minutos',
		secondText: '-',
		currentText: 'Ahora',
		closeText: 'Listo',
		hourMin: 7,
		hourMax: 17,
		separator: ' ',
		timeFormat: 'HH:mm:ss',
	});
	$('#finEventoFecha').datetimepicker({
		timeText: '-',
		hourText: 'Hora',
		minuteText: 'Minutos',
		secondText: '-',
		currentText: 'Ahora',
		closeText: 'Listo',
		hourMin: 7,
		hourMax: 17,
		separator: ' ',
		timeFormat: 'HH:mm:ss',
		timezone: 'Arg',
		timezoneList: [ 
		   			{ value: -300, label: 'Arg'}, 
		   		]
	});
	
	$.datepicker.regional['es'] = {
			closeText: 'Cerrar',
			prevText: '<',
			nextText: '>',
			currentText: 'Hoy',
			monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
			'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
			monthNamesShort: ['Ene','Feb','Мar','Abr','May','Jun',
			'Jul','Ago','Sep','Oct','Nob','Dic'],
			dayNames: ['Lunes','Martes','Miercoles','Jueves','Viernes','Sabado','Domingo'],
			dayNamesShort: ['Lu','Ma','Mi','Ju','Vi','Sa','Do'],
			weekHeader: 'Не',
			dateFormat: 'yy-mm-dd',
			firstDay: 1,
			isRTL: false,
			showMonthAfterYear: false,
			yearSuffix: ''
		};
		$.datepicker.setDefaults($.datepicker.regional['es']);


		// alert(ex13.datetimepicker('getDate')); MUESTRA EL DATE EN FORMATO DATE DE JS
});

function muestraPiezas(){
	var evento=$("#evento").val();
	if (evento>1 && evento<4){
		if (evento==2){
			$("#cantidadPiezas").val("");
			$("#cantidadPiezas").attr("disabled",false);
		}else{
			var tot=ordenActual.totalPiezas-produccionActual;
			$("#cantidadPiezas").val(tot);
			$("#cantidadPiezas").attr("disabled",true);
		}
		$("#piezasDiv").fadeIn(400);
	}else{
		$("#piezasDiv").fadeOut();
		$("#cantidadPiezas").val("");
	}
}

function muestraOrden(){
	var nroOrden=$("#nroOrden").val();
	var orden=DBHloadById("orden", nroOrden);
	var tab;
	if (orden!=null){
		$("#detalleOrden").slideUp(200);	
		tab=armaTablaProcesos(orden);	
		$("#detalleOrden").slideDown(200);
		$("#detalleOrden").hide();
		ordenActual=orden;
	}else{
		$("#errorOrden").fadeIn(500).delay(2000).fadeOut(300);
		$("#detalleOrden").slideUp(200);
		ordenActual=null;
	}
	
}

function armaTablaProcesos(orden){
	var params={};
	params["idOrden"]=orden.id;
	var procesosOrden=DBHload("proceso_status", params, "idProceso");
	var str="<table id='procesosOrdenT'><thead><th>Proceso</th><th>Estado</th><th>Produccion</th><th>Opciones</th></thead><tbody>";
	for (x=0;x<procesosOrden.rowCount;x++){
		var obj=procesosOrden.rows[x];
		str += "<tr><td>" + obj.idProceso + " .- " +procesos[obj.idProceso] + "</td><td>" + estadoProceso[obj.idEstado] + "</td><td>" + obj.produccion + " Piezas</td><td><a href='javascript:editarProceso(" + obj.idProceso + "," + obj.idEstado + "," + obj.produccion + ")'>Editar</a> </td></tr>";
	}			
	str+="</tbody></table>";
	$("#detalleOrden").html(str);

	setTable("procesosOrdenT",0);		
}

function armaTablaProduccion(idProceso){
	var params={};
	var ret;
	params["idOrden"]=ordenActual.id;
	params["idProceso"]=idProceso;
	var regs=DBHload("registro_fabricacion", params, "id");
	var str="<table id='registrosProduccionT'><thead><th>Evento</th><th>Inicio</th><th>Fin</th><th>Duracion</th><th>Opciones</th></thead><tbody>";
	for (x=0;x<regs.rowCount;x++){
		var obj=regs.rows[x];
		var di = convertToJS(obj.inicio);
		var df = convertToJS(obj.fin);
		str += "<tr><td>" + tipoRegistro[obj.idTipoRegistro] + "</td><td>" +obj.inicio + "</td><td>" + obj.fin + "</td><td>" + Math.round((df-di)/1000/60/60) + " Hs</td><td><a href='javascript:editarRegistro(" + obj.id + ")'>Editar</a> </td></tr>";
	}			
	str+="</tbody></table>";
	$("#registrosProduccionDiv").html(str);

	ret=setTableSingle("registrosProduccionT",1,"200px");
	return ret;		
}

function editarProceso(idProceso, idEstado,produccion){
	$("#detalleOrden").hide("slow");
	$("#buscador").hide("slow");
	$("#atras").fadeIn("slow");
	$("#nroOrdenP").html(ordenActual.id);
	$("#procesoP").html(procesos[idProceso]);
	$("#estadoP").html(estadoProceso[idEstado]);
	$("#piezaP").html(ordenActual.idPieza);
	$("#piezasCantP").html(ordenActual.totalPiezas);
	produccionActual=produccion;
	var params={};
	params["idProceso"]=idProceso;
	params["idPieza"]=ordenActual.idPieza;
	var items=DBHload("proceso_pieza", params, "idProceso");
	var maquina=items.rows[0].idMaquina;
	if (maquina!=null){
		$("#maquina").val(maquina);
	}
	$("#detalleProceso").slideDown("slow");
	if (idEstado>1){
		makeCombo("comboEventosDiv","evento","tipo_registro_fabricacion","descripcion","muestraPiezas()");
	}else{
		var params={};
		params["id"]=1;
		makeComboWithFilter("comboEventosDiv","evento","tipo_registro_fabricacion","descripcion","",params);
	}
	procesoActual=idProceso;
	var obj=armaTablaProduccion(idProceso);
	obj.fnAdjustColumnSizing();		
	cancelar();
	procesoEditando=null;
}

function editarRegistro(id){
	$("#piezasDiv").fadeOut();
	var obj=DBHloadById("registro_fabricacion", id);
	$("#evento").val(obj.idTipoRegistro);
	$("#inicioEventoFecha").val(obj.inicio); 
	$("#finEventoFecha").val(obj.fin);
	$("#observaciones").val(obj.observaciones);
	
	$("#cantidadPiezas").val(obj.piezas);
	if (obj.piezas!=null){
		$("#piezasDiv").fadeIn();
	}else{
		$("#piezasDiv").fadeOut();
	}
	$("#evento").attr("disabled",true);
	$("#maquina").attr("disabled",true);
	procesoEditando=obj.id;
}



function creaEvento(){	
	var evento=$("#evento").val();
	var maquina=$("#maquina").val();
	var inicio=$("#inicioEventoFecha").val(); 
	var fin=$("#finEventoFecha").val();
	var obs=$("#observaciones").val();
	var piezas=$("#cantidadPiezas").val();
	var params={};
	params["idOrden"]=ordenActual.id;
	params["idProceso"]=procesoActual;
	params["inicio"]=inicio;
	params["idTipoRegistro"]=evento;
	params["fin"]=fin;
	params["observaciones"]=obs;
	if (piezas!=""){
		params["piezas"]=piezas;
	}		
	if (procesoEditando==null){
		DBHsave("registro_fabricacion", params);	
	}else{
		DBHupdateById("registro_fabricacion", params, procesoEditando);
	}
	params={};
	if (evento==1){ //PUESTA A PUNTO
		makeCombo("comboEventosDiv","evento","tipo_registro_fabricacion","descripcion","muestraPiezas()");
		params["idEstado"]=2;// EN PRODUCCION	
		$("#estadoP").html(estadoProceso[2]);	
	}else{
		if (evento==4){ // MAQUINA DETENIDA
			params["idEstado"]=4;// DETENIDO	
			$("#estadoP").html(estadoProceso[4]);
		}else{
			if (evento==3){ // PRODUCCION TOTAL
				params["idEstado"]=3; // TERMINADO
				$("#estadoP").html(estadoProceso[3]);
			}else{
				produccionActual+=piezas;
			}
		}
	}
	if (piezas!=""){
		params["produccion"]=piezas;
	}
	var fields={};
	fields["idProceso"]=procesoActual;
	fields["idOrden"]=ordenActual.id;
	updateByFields("proceso_status",params,fields);
	params={};
	params["idMaquina"]=maquina;
	updateByFields("proceso_pieza",params,fields);
	armaTablaProduccion(procesoActual);	
	cancelar();
	$("#maquina").val(maquina);
}

function cancelar(){
	$("#evento").val(0);
	$("#inicioEventoFecha").val(""); 
	$("#finEventoFecha").val("");
	$("#observaciones").val("");
	$("#cantidadPiezas").val("");
	$("#piezasDiv").fadeOut();
	procesoEditando=null;
	$("#evento").attr("disabled",false);
	$("#maquina").attr("disabled",false);	
}

function atras(){
	$("#detalleOrden").fadeIn("slow");
	$("#buscador").fadeIn("slow");
	$("#atras").hide("slow");
	$("#detalleProceso").hide("slow");
	armaTablaProcesos(ordenActual);
}

</script>
<style>
.titulo{ font-weight: bold; display: inline-table; font-size: 13px;padding-left: 25px; height: 15px;line-height: 15px;}
.valor{display: inline-table;font-size: 13px; padding-left: 10px;height: 15px;line-height: 15px;}
</style>
<?php 
	include "menuProduccion.html";
?>
		
        <div class="container_12">
           <div class="grid_10">
            	<div class="box round first">
                <h2>Produccion</h2>
                	<div class="block">
                        <div id="buscador">
	                        <table class="form">
	                        <tr>
	                            <td class="col1Horizontal"><label>Numero de Orden: </label></td>
	                            <td class="col2Horizontal"><input type="text" id="nroOrden" /><br><span id="errorOrden" style="color:red;display:none">Nro de Orden Inexistente</span></td>
	                            <td class="col1Horizontal">
	                                <button class="btn btn-small" id="btnNuevo" onclick="muestraOrden()">Aceptar...</button>                                
	                            </td>
	                        </tr>
	                   		</table>
                   		</div>
                   		<div id="atras" style="display:none;"><a href="javascript:atras()"><< Volver</a></div>
						<div id="detalleOrden">
						</div>
						<div id="detalleProceso" style="display:none;width: 100%;text-align: center">
							<div class="titulo">N° Orden: </div><div id="nroOrdenP" class="valor"></div>
							<div class="titulo">Pieza N°: </div><div id="piezaP" class="valor"></div>
							<div class="titulo">Cantidad Piezas: </div><div id="piezasCantP" class="valor"></div>
							<div class="titulo">Proceso: </div><div id="procesoP" class="valor"></div>
							<div class="titulo">Estado: </div><div id="estadoP" class="valor"></div>
							<div class="containerEventos" style="width: 100%;border: 1px dotted black;padding-top: 15px;">
								<div class="titulo">Evento: </div> <div id="comboEventosDiv" class="valor"></div>								
								<div class="titulo">Maquina: </div> <div id="comboMaquinasDiv" class="valor"></div>
								<br>
								<div id="piezasDiv" style="display:none"><br><div class="titulo">Piezas Producidas: </div><input id="cantidadPiezas" type="text" size="15"/></div>
								<br>
								<div class="titulo">Inicio: </div> <input id="inicioEventoFecha" type="text" size="15"/>
								<div class="titulo">Fin: </div> <input id="finEventoFecha" type="text" size="15"/>
																
								<br><br>
								<div class="titulo" style="height: 25;line-height: 25px;">Observaciones: </div>
								<br>
								<textarea rows="3" cols="50" id="observaciones" ></textarea>
								<br>
								<button class="btn btn-small" id="btnNuevoEvento" onclick="creaEvento()">Aceptar</button>
								<button class="btn btn-small" id="btnNuevoEvento" onclick="cancelar()">Cancelar</button>    
								<br><br> 
								<div id="registrosProduccionDiv" style="text-align: left"></div>
							</div>
						</div>
					</div>
					
				</div> 
			</div> 
		</div>
		    <?php include "footer.html"?>